/*---------------------------------------------------------------------------*/
#ifndef MENUACTION_H
#define MENUACTION_H
/*---------------------------------------------------------------------------*/
#include <string>
#include <QWidget>
#include <QtGui>
#include <vector>
#include "FileNode.h"
#include "Utils.h"
/*---------------------------------------------------------------------------*/
using namespace std;
/*---------------------------------------------------------------------------*/
class BrowserBox;
/*---------------------------------------------------------------------------*/
enum MenuActionType
{
	ACTION_NOTHING,
	ACTION_LAUNCH,
	ACTION_OPENWITH,
	ACTION_OPENDIR,
	ACTION_CUT,
	ACTION_COPY,
	ACTION_PASTE,
	ACTION_DELETE,
	ACTION_COPYHERE,
	ACTION_MOVEHERE
};
/*---------------------------------------------------------------------------*/
enum MenuActionParams
{
	PARAM_LAUNCHER,
	PARAM_FILEPATH,
	PARAM_PARENTPATH
};
/*---------------------------------------------------------------------------*/
class MenuAction : public QAction
{
	Q_OBJECT
	
	public:
	
						MenuAction( const QString & text, QObject *parent );
	virtual 			~MenuAction();
	
	void				set( vector<FileNode*> vfn, int type, string param1 = "", string param2 = "", string param3 = "");
	void				run();
	void				process();	
	
	string				getParam(int i);	

	
	void				appendToParam(int i, string str);
	
	void				setFLW(BrowserBox	*_flw);
	
	private:
				
	string				text;
	string 				params[10];
	int					type;
	vector<FileNode*>	v_files;
	BrowserBox		*flw;					
};
/*---------------------------------------------------------------------------*/
#endif
